﻿using System.Collections.Generic;
using eCommerce.Core.Domain.Customers;
using eCommerce.Core.Domain.Products;
using eCommerce.Core.Domain.ShoppingCarts;

namespace eCommerce.Services.ShoppingCarts
{
    public interface IShoppingCartService
    {
        void DeleteShoppingCartItem(ShoppingCartItem shoppingCartItem);

        IList<string> AddToCart(int customerId, Item item,string selectedAttributes,int quantity);


        IList<string> UpdateShoppingCartItem(Customer customer, int shoppingCartItemId,
         int newQuantity, bool resetCheckoutData);

        IList<string> GetShoppingCartWarnings(IList<ShoppingCartItem> cart);
        IList<string> GetShoppingCartItemWarnings( Item item, string attributesXml, int quantity);
        IList<ShoppingCartItem> GetShoppingCart(int customerId);

        void RemoveShoppingCartItem(int customerId, int shoppingCarItemId);
    }
}